import datetime
import os
import winreg
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography import x509

def loadCertificate(certFile):
    certData = open(certFile, 'rb').read()
    certificate = x509.load_pem_x509_certificate(certData)
    return certificate

def validateCertificate(certificate):
    if (certificate.not_valid_before <= datetime.datetime.now() <= certificate.not_valid_after):
        valid = True
    else:
        valid = False
    return valid



def main():   

  #certificate = input("What certificate do you want to validate.\n")

    #testing
    aReg = winreg.ConnectRegistry(None,winreg.HKEY_LOCAL_MACHINE)
    akey = r'HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/SystemCertificates/ROOTCertificates'
    
    for sub_key in get_sub_keys(akey):

        print(file)
        certificate = file #+ ".sys"
        loadedCert = loadCertificate(certificate)
    
        if validateCertificate(loadedCert) == True:
            print("Your certificate is valid:\n")
            print("Valid between:", loadedCert.not_valid_before)
            print("and", loadedCert.not_valid_after)

    
if __name__ == main():
    main()
